export class StorageLoader { private _domStorage: storage.attached.dom.LoadStorage;
private _callbacks: StorageLoader.Callbacks = null;
private _indexedDBDetectCompleted = false;
private _webSqlDetectCompleted = false;
private _persistenceName: string = null;
private _persistence: storage.attached.LoadStorage = null;
private _storageElement: HTMLElement,
private _uniqueKey: string) { new storage.attached.dom.DetectStorage(this._storageElement, this._dom.documenOverride).
loadStorage(callback: StorageLoader.Callbacks) { var detectIndexedDB = new storage.attached.indexedDB.DetectStorage();
var detectWebSQL = new storage.attached.webSQL.DetectStorage();
detectIndexedDB.detectStorageAsync(this._uniqueKey, (error, load) => { this._indexedDBDetectCompleted = true;
if (!this._webSqlDetectCompleted)
this._persistence = load;
this._persistenceName = 'indexedDB';
detectWebSQL.detectStorageAsync(this._uniqueKey, (error, load) => { this._webSqlDetectCompleted = true;
if (this._indexedDBDetectCompleted) { this._persistence = load;
private _detectCompleted() { this._callbacks.detectionComplete('dom', this._domStorage.editedUTC, false); export module StorageLoader { export interface Callbacks { supportsPersistence: boolean): void;
lastLoadedFilename: string);